unit MainFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

Function EnumWindowsProc(h:HWND;
                                                 lParam:Longint):Boolean; 
                                                                                  stdcall;
var WinTitle:array[0..144]of char;

begin

   GetWindowText(h,WinTitle,144);
   if length(Trim(WinTitle))>0 then
             Form1.ListBox1.Items.Add(WinTitle);
end;


{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
   Listbox1.Items.Clear; 
   EnumWindows(@EnumWindowsProc,0);
end;

end.
